package com.daxue.se.juc;

/**
 * @author daxue0929
 * @date 2022/9/13
 */

public class ReadMe {
    /**
     * p6. 如果用户线程全部结束意味着程序需要完成的业务操作已经结束了，守护线程随着JVM一同结束工作
     *    setDaemon(true)方法必须在start()之前设置，否则包IllegalThreadStateException异常
     *
     * p7. Future接口(FutureTask实现类)定义了操作异步任务的一些方法，如获取异步任务的执行结果、取消任务的执行、
     *    判断任务是否被取消、判断任务执行是否完毕。
     *  CompletableFuture
     *      .suply()
     *  .get()
     *  .join()
     *  .getNow()  计算完，返回计算完成后的结果， 没算完，返回设定饿默认值
     *
     *  complete(T value) 是否打断get()方法立刻返回括号的值。
     *
     *  对计算结果进行处理
     *      thenApply() ,由于存在以来关系，当前错，不走下一步。
     *      handle() 有异常，可以往下走一步。
     *
     *  对计算结果进行消费：
     *      thenAccept() 接受任务的处理结果，消费处理无返回结果。
     *
     *      thenRun()  如果调用第二个任务的时，传入了一个自定义线程池，调用thenRun方法执行第二个任务之，则第二个任务和第一个任务使用同一个线程池
     *      调用thenRunAsync执行第二个任务时，则第一个任务使用的是你自己传入的线程池，第二个任务使用的ForkJoin线程池
     *
     *      注意：有可能处理太快，系统优化切换原则，直接使用main线程处理
     *
     *
     *
     */
}
